package com.miplus.ccrm.core.pojo;

import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Data;

/**
 * 借据还款计划表
 * @TableName IOU_BILL_PAYPLAN
 */
@TableName(value ="IOU_BILL_PAYPLAN")
@Data
@KeySequence(value ="SEQ_IOU_BILLPAYPLAN")
public class IouBillPayplan implements Serializable {
    /**
     * 序号
     */
    @TableId(type = IdType.INPUT)
    private String planid;

    /**
     * 借据号
     */
    private String billid;

    /**
     * 总期数
     */
    private Integer repayNum;

    /**
     * 当前期数
     */
    private Integer currentNum;

    /**
     * 还款日期
     */
    private Date repayDate;

    /**
     * 应还金额（=应还本金+应还利息+手续费+罚息+复利）
     */
    private BigDecimal preRepayAmt;

    /**
     * 应还本金
     */
    private BigDecimal preRepayPrin;

    /**
     * 应还利息
     */
    private BigDecimal preRepayInt;

    /**
     * 应还手续费
     */
    private BigDecimal preRepayFee;

    /**
     * 应付逾期罚息
     */
    private BigDecimal preOverdueFee;

    /**
     * 管理费（复利）
     */
    private BigDecimal preCompoundInt;

    /**
     * 状态
     */
    private String status;

    /**
     * 实际还款金额
     */
    private BigDecimal realRepayAmt;

    /**
     * 实际还款日
     */
    private Date realRepayDate;

    /**
     * 剩余应还总金额
     */
    private BigDecimal leftRepayAmt;

    /**
     * 剩余应还本金
     */
    private BigDecimal leftRepayPrin;

    /**
     * 剩余应还利息
     */
    private BigDecimal leftRepayInt;

    /**
     * 剩余应还手续费
     */
    private BigDecimal leftRepayFee;

    /**
     * 剩余逾期罚息
     */
    private BigDecimal leftOverdetFee;

    /**
     * 剩余管理费
     */
    private BigDecimal leftCompoundInt;

    /**
     * 宽限日期
     */
    private Date granceDate;

    /**
     * 免息天数：宽限时间-应还日期
     */
    private Integer freeIntDay;

    /**
     * 罚息计算时间
     */
    private Date calcOverdueFeeDate;

    /**
     * 临时缓存罚息
     */
    private BigDecimal tempOverdueFee;

    /**
     * 结算罚息
     */
    private BigDecimal settleOverdueFee;

    /**
     * 还款手续费
     */
    private BigDecimal repaymentFee;

    /**
     * 提前还款手续费
     */
    private BigDecimal advanceRepayFee;

    /**
     * 提前还款利息
     */
    private BigDecimal advanceRepayInt;

    /**
     * 减免利息
     */
    private BigDecimal effectInt;

    /**
     * 减免费用
     */
    private BigDecimal effectFee;

    /**
     * 创建时间
     */
    private Date crdt;

    /**
     * 更新时间
     */
    private Date updt;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}